package com.hdoit.ares.quartz;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.tennetcn.common.annotation.QuartzTaskConfig;

@QuartzTaskConfig(cronTrigger = "0 0 2 */2 * ?", jobTitle = "用于删除和备份远程电脑上的日志")
public class QuartzCleanLogJob implements Job{
	/**
	 * 过程：
	 * 1.复制备份文件覆盖掉以前备份的
	 * 2.如果1成功，则删除文件
	 */
	@Override
	public void execute(JobExecutionContext context) throws JobExecutionException {
		String fileName = "C:/tomcat/tomcat-8.0.47-new/bin/jbit12345.log";
		String target = "C:/Users/Administrator/Desktop/logBak/jbit12345.log";
		
		//将文件备份到指定文件夹中
		if(copyFile(fileName,target)){
			//删除文件
			deleteFile(fileName);
		}
	   
	}

	//用于备份日志
	public boolean copyFile(String src, String dst) {
	    try {
	      int len = 0;
	      byte[] buf = new byte[1024];
	      FileInputStream fis = new FileInputStream(src);
	      FileOutputStream fos = new FileOutputStream(dst);
	      while ( (len = fis.read(buf)) != -1) {
	        fos.write(buf, 0, len);
	      }
	      fis.close();
	      fos.close();
	    }
	    catch (IOException e) {
	      System.out.println(e);
	      return false;
	    }
	    return true;
	  }
	
	
	//用于清除指定文件
	public boolean deleteFile(String fileName){
		File file = new File(fileName);
        // 如果文件路径所对应的文件存在，并且是一个文件，则直接删除
        if (file.exists() && file.isFile()) {
            if (file.delete()) {
                System.err.println("删除单个文件" + fileName + "成功！");
                return true;
            } else {
                System.err.println("删除单个文件" + fileName + "失败！");
                return false;
            }
        } else {
            System.err.println("删除单个文件失败：" + fileName + "不存在！");
            return false;
        } 
	}
	
	
} 
	
	

